-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "transform" mod #3140
Add "transform" mod #3140
Conversation
Please fix CI issues and classify this under "Fun" after #3150 is merged. |
done |
public override string ShortenedName => "Arrange"; | ||
public override FontAwesome Icon => FontAwesome.fa_arrows; | ||
public override ModType Type => ModType.Fun; | ||
public override string Description => "Everything rotates. EVERYTHING"; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
public override FontAwesome Icon => FontAwesome.fa_arrows; | ||
public override ModType Type => ModType.Fun; | ||
public override string Description => "Everything rotates. EVERYTHING"; | ||
public override double ScoreMultiplier => 1.05; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
internal class OsuModArrange : Mod, IApplicableToDrawableHitObjects | ||
{ | ||
public override string Name => "Arrange"; | ||
public override string ShortenedName => "Arrange"; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
using (drawable.BeginAbsoluteSequence(hitObject.StartTime - hitObject.TimeFadeIn - pre_time_offset, true)) | ||
{ | ||
drawable | ||
.MoveToOffset(new Vector2((float)Math.Cos(theta), (float)Math.Sin(theta)) * 250) |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
// avoiding that the player can see the abroupt move. | ||
const int pre_time_offset = 1000; | ||
|
||
using (drawable.BeginAbsoluteSequence(hitObject.StartTime - hitObject.TimeFadeIn - pre_time_offset, true)) |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This is ready for review. |
|
||
Vector2 originalPosition = drawable.Position; | ||
|
||
const float appear_distance = 250; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
internal class OsuModArrange : Mod, IApplicableToDrawableHitObjects | ||
{ | ||
public override string Name => "Arrange"; | ||
public override string ShortenedName => "Arrange"; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
public override FontAwesome Icon => FontAwesome.fa_arrows; | ||
public override ModType Type => ModType.Fun; | ||
public override string Description => "Everything rotates. EVERYTHING."; | ||
public override double ScoreMultiplier => 1; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
var hitObject = (OsuHitObject) drawable.HitObject; | ||
|
||
// repeat points get their position data from the slider. | ||
if (hitObject is RepeatPoint) |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Follow points don't move at all, but appear in place (normal behavior), which is kind of jarring, at least for me. |
@zachllogan Modifying the behaviour of followpoints is not that easily possible, sadly. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking pretty good to merge. Only remaining issue I can see is that follow points feel a bit weird as they are still in their static positions.
I'm fine to get this in without that being resolved, though.
Vector2 appearOffset = new Vector2((float)Math.Cos(theta), (float)Math.Sin(theta)) * appearDistance; | ||
|
||
//the - 1 and + 1 prevents the hit explosion to appear in the wrong position. | ||
double appearTime = hitObject.StartTime - hitObject.TimePreempt - 1; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
The implements the arrange mod.
This mod moves the hitobjects into place when they appear. The is based on the peppys wtf branch.
https://youtu.be/bISGxVBq_PI